
//Evento crear reserva

$("#botonFormCrearReserva").click(function() {
    $("#formQuienPaga .error").remove();
    $("#ayudaFechaNacimiento").hide();
    if ($("#nombre").val() == "") {
        $("#nombre").focus();
        $("#nombre").before("<span class='error'>*</span>");
        return false;
    }
    if (document.getElementById("fechaNacimiento").value != "") {
        var expresionRegular = /^\d{2}\/\d{2}\/\d{4}$/;
        if (!(document.getElementById("fechaNacimiento").value).match(expresionRegular)) {
            $("#ayudaFechaNacimiento").show();
            return  false;
        }
    }
    $("#formCrearReserva").submit();
});





















$("#proDes").change(function() {
    if ($(this).is(':checked')) {
        $("#formProDes").show();
    }
    else {
        $("#formProDes").hide();
    }
});

/*------Si el pais de procedencia o  destino es colombia ---*/
$("#paisProcedencia").change(function() {
    if ($(this).val() == "169") {
        $("#ciudadProcedencia").attr("name", "").hide();
        $("#listaCiudadesProcedencia").attr("name", "ciudadProcedencia").addClass("requeridoHuesped").val("").show();
    } else {
        $("#formEsHuesped span.error").remove();
        $("#listaCiudadesProcedencia").attr("name", "").removeClass("requeridoHuesped").hide();
        $("#ciudadProcedencia").attr("name", "ciudadProcedencia").show();
    }
});
$("#paisDestino").change(function() {
    if ($(this).val() == "169") {
        $("#ciudadDestino").attr("name", "").hide();
        $("#listaCiudadesDestino").attr("name", "ciudadDestino").addClass("requeridoHuesped").val("").show();
    } else {
        $("#formEsHuesped span.error").remove();
        $("#listaCiudadesDestino").attr("name", "").removeClass("requeridoHuesped").hide();
        $("#ciudadDestino").attr("name", "ciudadDestino").show();
    }
});

/*---------*/


/* Evento disparador del ajax */
$("#documento").change(function() {
    var identificacion = $("#documento").val();
    var nacionalidad = $("#nacionalidad").val();
    if (identificacion != "" && nacionalidad != "") {
        cargarCliente(identificacion, nacionalidad, "1");
    }
});
$("#nacionalidad").change(function() {
    pedirVisa();
    var identificacion = $("#documento").val();
    var nacionalidad = $("#nacionalidad").val();
    if (identificacion != "" && nacionalidad != "") {
        cargarCliente(identificacion, nacionalidad, "1");
    }
});
$("#identificacionEmpresa").change(function() {
    var identificacionEmpresa = $("#identificacionEmpresa").val();
    var paisEmpresa = $("#paisEmpresa").val();
    if (identificacionEmpresa != "" && paisEmpresa != "") {
        cargarCliente(identificacionEmpresa, paisEmpresa, "2");
    }
});
$("#paisEmpresa").change(function() {
    var identificacionEmpresa = $("#identificacionEmpresa").val();
    var paisEmpresa = $("#paisEmpresa").val();
    if (identificacionEmpresa != "" && paisEmpresa != "") {
        cargarCliente(identificacionEmpresa, paisEmpresa, "2");
    }
});
/*----------------*/

$("#buttonDatosPersona").click(function(e) {
    resetCrearReserva();
    desBoquearInputPersona();
    $("#datosEmpresa").hide();
    $("#datosPersona").show();
    $("#quien").val("persona");
});

$("#buttonDatosEmpresa").click(function(e) {
    resetCrearReserva();
    desBoquearInputEmpresa();
    $("#datosPersona").hide();
    $("#datosEmpresa").show();
    $("#quien").val("empresa");
});


function initCrearReserva(nombreH, idH, desde, hasta, cantidadNoches, capacidadEstandar, capacidadAdicional) {
    resetCrearReserva();
    var select = [];
    for (var i = 1; i <= capacidadEstandar; i++) {
        select.push("<option>" + i + "</option>");
    }
    for (var i = (capacidadEstandar + 1); i <= (capacidadEstandar + capacidadAdicional); i++) {
        select.push("<option class='selectCapacidadAdicional'>" + i + "</option>");
    }
    select = select.join("");
    document.getElementById('selectCantidadPersonas').innerHTML = select;

    $("#idHabitacion").val(idH);
    $("#nombreHabitacion").html(nombreH);
    $("#desde").val(desde);
    $("#hasta").val(hasta);
    $("#cantidadNoches").val(cantidadNoches);


    $("#bloquearIdHabitacion").val(idH);
    $("#bloquearNombreHabitacion").html(nombreH);
    $("#bloquearDesde").val(desde);
    $("#bloquearHasta").val(hasta);
    $("#bloquearCantidaNoches").val(cantidadNoches);

    var auxFecha = ($("#desde").val()).split("/");
    var now = new Date(auxFecha[2], (auxFecha[1] - 1), auxFecha[0]);
    now.setDate(now.getDate() + 1);
    var dd = now.getDate();
    var mm = now.getMonth() + 1; //Enero es 0
    var yyyy = now.getFullYear();
    $("#hasta").datepicker("option", "minDate", $("#desde").val());
    $("#bloquearHasta").datepicker("option", "minDate", dd + "/" + mm + "/" + yyyy);

    var auxFecha = ($("#hasta").val()).split("/");
    var now = new Date(auxFecha[2], (auxFecha[1] - 1), auxFecha[0]);
    now.setDate(now.getDate() - 1);
    var dd = now.getDate();
    var mm = now.getMonth() + 1; //Enero es 0
    var yyyy = now.getFullYear();
    $("#desde").datepicker("option", "maxDate", $("#hasta").val());
    $("#bloquearDesde").datepicker("option", "maxDate", dd + "/" + mm + "/" + yyyy);
    $("#divSolicitarVisa").hide();
    $("#idAgencia").val("");
}
function resetCrearReserva() {
    $("#formCrearReserva .error").remove();
    desBoquearInputPersona();
    $("#formQuienPaga").find(':input').each(function() {
        var elemento = this;
        elemento.value = "";
    });
    $("#ayudaFechaNacimiento").hide();
    document.getElementById('resultadoAjax').innerHTML = "";
    $("#formProDes").hide();
    $("#proDes").prop('checked', false);
}
function resetEnCaliente() {//persona o empresa
    $("#formQuienPaga").find(':input:not(.preservar)').each(function() {
        var elemento = this;
        elemento.value = "";
    });
    $("#ayudaFechaNacimiento").hide();
    document.getElementById('resultadoAjax').innerHTML = "";
//    $("#formEsHuesped").hide();
//    $("#esHuesped").attr('checked', false);
}



function cargarCliente(identificacion, nacionalidad, tipo) {
    $.ajax({
        url: "cargarCliente",
        data: {
            identificacion: identificacion,
            nacionalidad: nacionalidad,
            tipo: tipo
        },
        type: 'POST',
        success: function(data) {
            if (tipo == "1") {
                if (data != "[]") {
                    data = JSON.parse(data);
                    document.getElementById('resultadoAjax').innerHTML = "" + data[0]["nombre"] + " ya es cliente";
                    $("#idCliente").val(data[0]["id_cliente"]);
                    $("#tipoDocumento").val(data[0]["id_documento"]);
                    $("#nombre").val(data[0]["nombre"]);
                    $("#primerApellido").val(data[0]["primer_apellido"]);
                    $("#segundoApellido").val(data[0]["segundo_apellido"]);
                    $("#direccion").val(data[0]["direccion"]);
                    if (data[0]["fecha_nacimiento"]) {
                        var fechaNacimiento = (data[0]["fecha_nacimiento"]).split('-')
                        $("#fechaNacimiento").val(fechaNacimiento[2] + "/" + fechaNacimiento[1] + "/" + fechaNacimiento[0]);
                    } else {
                        $("#fechaNacimiento").val("");
                    }
                    $("#telefono").val(data[0]["telefono"]);
                    $("#email").val(data[0]["email"]);
                    $("#idEstadoCivil").val(data[0]["id_estado_civil"]);
                    $("#ocupacion").val(data[0]["ocupacion"]);
                    bloquearInputPersona();
                    $("#resultadoAjax").css("color", "#669533");
                    $("#resultadoAjax").show();
                } else {
                    /* $("#idCliente").val("");
                     resetEnCaliente();
                     desBoquearInputPersona();
                     document.getElementById('resultadoAjax').innerHTML = "Este cliente es nuevo";
                     $("#resultadoAjax").css("color", "#317eac");
                     $("#resultadoAjax").show();
                     */
                }
            }
            else if (tipo == "2") {
                if (data != "[]") {
                    data = JSON.parse(data);
                    document.getElementById('resultadoAjax').innerHTML = "" + data[0]["nombre"] + " ya es cliente";
                    $("#idCliente").val(data[0]["id_cliente"]);
                    $("#nombreEmpresa").val(data[0]["nombre"]);
                    $("#telefonoEmpresa").val(data[0]["telefono"]);
                    $("#direccionEmpresa").val(data[0]["direccion"]);
                    $("#emailEmpresa").val(data[0]["email"]);
                    bloquearInputEmpresa();
                    $("#resultadoAjax").css("color", "#669533");
                    $("#resultadoAjax").show();
                } else {
                    $("#idCliente").val("");
                    resetEnCaliente();
                    desBoquearInputEmpresa();
                    document.getElementById('resultadoAjax').innerHTML = "Este cliente es nuevo";
                    $("#resultadoAjax").css("color", "#317eac");
                    $("#resultadoAjax").show()
                }
            }
        }
    });
}

function bloquearInputPersona() {
    $("#tipoDocumento option:not(:selected)").attr('disabled', 'disabled');
    $("#tipoDocumento").addClass("selectBloqueado");
    $("#idEstadoCivil option:not(:selected)").attr('disabled', 'disabled');
    $("#idEstadoCivil").addClass("selectBloqueado");
    $("#direccion").addClass("uneditable-input").attr('readonly', true);
    $("#nombre").addClass("uneditable-input").attr('readonly', true);
    $("#primerApellido").addClass("uneditable-input").attr('readonly', true);
    $("#segundoApellido").addClass("uneditable-input").attr('readonly', true);
    $('#fechaNacimiento').datepicker("option", "minDate", 0).datepicker("option", "maxDate", 0).addClass("uneditable-input").attr('readonly', true);
    $("#telefono").addClass("uneditable-input").attr('readonly', true);
    $("#email").addClass("uneditable-input").attr('readonly', true);
    $("#ocupacion").addClass("uneditable-input").attr('readonly', true);
    $("#formQuienPaga .editar").show();
}
function desBoquearInputPersona() {
    $("#tipoDocumento option").removeAttr('disabled');
    $("#tipoDocumento").removeClass("selectBloqueado");
    $("#idEstadoCivil option").removeAttr('disabled');
    $("#idEstadoCivil").removeClass("selectBloqueado");
    $("#direccion").removeClass("uneditable-input").attr('readonly', false);
    $("#nombre").removeClass("uneditable-input").attr('readonly', false);
    $("#primerApellido").removeClass("uneditable-input").attr('readonly', false);
    $("#segundoApellido").removeClass("uneditable-input").attr('readonly', false);
    $('#fechaNacimiento').datepicker("option", "minDate", null).datepicker("option", "maxDate", null).removeClass("uneditable-input").attr('readonly', false);
    $("#telefono").removeClass("uneditable-input").attr('readonly', false);
    $("#email").removeClass("uneditable-input").attr('readonly', false);
    $("#ocupacion").removeClass("uneditable-input").attr('readonly', false);
    $("#formQuienPaga .editar").hide();
}
function bloquearInputEmpresa() {
    $("#nombreEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#telefonoEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#direccionEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#emailEmpresa").addClass("uneditable-input").attr('readonly', true);
    $("#formQuienPaga .editar").show();
}
function desBoquearInputEmpresa() {
    $("#nombreEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#telefonoEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#direccionEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#emailEmpresa").removeClass("uneditable-input").attr('readonly', false);
    $("#formQuienPaga .editar").hide();
}
$("#formQuienPaga a.editar").click(function() {
    $("+ span.error", $(this)).remove();
    if ($(this).attr("id") == "editarFechaNacimieno") {
        $('#fechaNacimiento').datepicker("option", "minDate", null).datepicker("option", "maxDate", null).removeClass("uneditable-input").attr('readonly', false);
    }
    else {
        $('#fechaNacimiento').datepicker('enable');
        $("+ input", $(this)).focus().removeClass("uneditable-input").attr('readonly', false);
        $("+ select", $(this)).focus().removeClass("selectBloqueado");
        $("+ select option", $(this)).focus().removeAttr('disabled');
    }
});

$("#desde").datepicker({
    changeMonth: true,
    numberOfMonths: 1,
    changeYear: true,
    dateFormat: "dd/mm/yy",
    monthNamesShort: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
    dayNamesMin: ["Dom", "Lun", "Mar", "Mié", "Juv", "Vie", "Sáb"],
    onClose: function(selectedDate) {
        $("#hasta").datepicker("option", "minDate", selectedDate);
        $("#cantidadNoches").val(cantidadDias(selectedDate, $("#hasta").val()));
    }
});
$("#hasta").datepicker({
    changeMonth: true,
    numberOfMonths: 1,
    changeYear: true,
    dateFormat: "dd/mm/yy",
    monthNamesShort: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
    dayNamesMin: ["Dom", "Lun", "Mar", "Mié", "Juv", "Vie", "Sáb"],
    onClose: function(selectedDate) {
        $("#desde").datepicker("option", "maxDate", selectedDate);
        $("#cantidadNoches").val(cantidadDias($("#desde").val(), selectedDate));
    }
});

/*Bloqueos*/
$("#bloquearDesde").datepicker({
    changeMonth: true,
    numberOfMonths: 1,
    changeYear: true,
    dateFormat: "dd/mm/yy",
    monthNamesShort: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
    dayNamesMin: ["Dom", "Lun", "Mar", "Mié", "Juv", "Vie", "Sáb"],
    onClose: function(selectedDate) {
        var auxFecha = (selectedDate).split("/");
        var now = new Date(auxFecha[2], (auxFecha[1] - 1), auxFecha[0]);
        now.setDate(now.getDate() + 1);
        var dd = now.getDate();
        var mm = now.getMonth() + 1; //January is 0!
        var yyyy = now.getFullYear();
        $("#bloquearHasta").datepicker("option", "minDate", dd + "/" + mm + "/" + yyyy);
        $("#bloquearCantidaNoches").val(cantidadDias(selectedDate, $("#bloquearHasta").val()));
    }
});
$("#bloquearHasta").datepicker({
    changeMonth: true,
    numberOfMonths: 1,
    changeYear: true,
    dateFormat: "dd/mm/yy",
    monthNamesShort: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
    dayNamesMin: ["Dom", "Lun", "Mar", "Mié", "Juv", "Vie", "Sáb"],
    onClose: function(selectedDate) {
        var auxFecha = (selectedDate).split("/");
        var now = new Date(auxFecha[2], (auxFecha[1] - 1), auxFecha[0]);
        now.setDate(now.getDate() - 1);
        var dd = now.getDate();
        var mm = now.getMonth() + 1; //January is 0!
        var yyyy = now.getFullYear();
        $("#bloquearDesde").datepicker("option", "maxDate", dd + "/" + mm + "/" + yyyy);
        $("#bloquearCantidaNoches").val(cantidadDias($("#bloquearDesde").val(), selectedDate));
    }
});


$(function() {
    function cargarDatosAutocompelte(ui) {
        document.getElementById('resultadoAjax').innerHTML = "" + ui.item.value + " ya es cliente";
        $("#resultadoAjax").css("color", "#669533");
        $("#resultadoAjax").show();
        $("#idCliente").val(ui.item.id_cliente);
        $("#nacionalidad").val(ui.item.id_pais);
        $("#documento").val(ui.item.documento);
        $("#tipoDocumento").val(ui.item.id_documento);
        $("#fechaNacimiento").val(ui.item.fecha_nacimiento);
        $("#nombre").val(ui.item.nombre);
        $("#primerApellido").val(ui.item.primer_apellido);
        $("#segundoApellido").val(ui.item.segundo_apellido);
        $("#direccion").val(ui.item.direccion);
        $("#telefono").val(ui.item.telefono);
        $("#email").val(ui.item.email);
        $("#ocupacion").val(ui.item.ocupacion);
        bloquearInputPersona();
        pedirVisa();
    }
    $("#nombre").autocomplete({
        source: "ajax/autocompleteCliente?action=nombre",
        minLength: 2,
        select: function(event, ui) {
            cargarDatosAutocompelte(ui);
            event.preventDefault();
        }
    });

    $("#primerApellido").autocomplete({
        source: "ajax/autocompleteCliente?action=primerApellido",
        minLength: 2,
        select: function(event, ui) {
            cargarDatosAutocompelte(ui);
            event.preventDefault();
        }
    });

    $("#segundoApellido").autocomplete({
        source: "ajax/autocompleteCliente?action=segundoApellido",
        minLength: 2,
        select: function(event, ui) {
            cargarDatosAutocompelte(ui);
            event.preventDefault();
        }
    });
});

function pedirVisa() {
    var visa = $("#nacionalidad option:selected").data("visa");
    if (visa == "S" && esDeColombia) {
        $("#divSolicitarVisa").show();
    } else {
        $("#divSolicitarVisa").hide();
    }
}